package main

import "fmt"

func main() {
	m1 := map[string]string{
		"name": "xiaomin",
		"age":  "18",
	}
	m1["size"] = "xxl"

	m2 := make(map[string]int) // m2 == empty map == nil

	var m3 map[string]int // m3 == nil

	fmt.Println(m1)
	fmt.Println(m2)
	fmt.Println(m3)

	// 遍历，每一次遍历的顺序还不一样
	for k, v := range m1 {
		fmt.Printf("%s: %s\n", k, v)
	}

	// 读值, 第二个值表示这个 key存不存在map中
	name1, ok1 := m1["name"]
	fmt.Println(name1, ok1)

	// 取不到的 就是 默认空值
	if name2, ok2 := m1["name2"]; ok2 {
		fmt.Println(name2)
	} else {
		fmt.Println("key is not exist")
	}

	// 删除
	delete(m1, "age")
}
